#アニメーション
Chart.js は、すぐにグラフをアニメーション化します。アニメーションの見た目やアニメーションにかかる時間を設定するためのオプションが多数用意されています。
#アニメーション構成
アニメーション設定は3つのキーで構成されます。
名前 | タイプ | 詳細 |
---|---|---|
アニメーション | object | アニメーション |
アニメーション | object | アニメーション |
トランジション | object | トランジション |
これらのキーは次のパスで構成できます。
- `` - チャートオプション
datasets[type]
- データセットタイプのオプションoverrides[type]
- グラフの種類のオプション
これらのパスは次の環境で有効です。defaults
グローバル設定用とoptions
たとえば構成。
#アニメーション
デフォルトの構成はここで定義されています。コア.アニメーション.js
名前空間:options.animation
名前 | タイプ | デフォルト | 説明 |
---|---|---|---|
duration | number | 1000 | アニメーションにかかるミリ秒数。 |
easing | string | 'easeOutQuart' | 使いやすさを高める機能。もっと... |
delay | number | undefined | アニメーションを開始する前の遅延。 |
loop | boolean | undefined | に設定されている場合true 、アニメーションは無限にループします。 |
これらのデフォルトは次でオーバーライドできます。options.animation
またdataset.animation
とお父さん937bf-30ec-4b5a-bcb9-402e48422a9f。これらのキーもスクリプト可能。
#アニメーション
アニメーション オプションでは、どの要素のプロパティをどのようにアニメーション化するかを構成します。 メインに加えて、アニメーション構成では、次のオプションが利用可能です。
名前空間:options.animations[animation]
名前 | タイプ | デフォルト | 説明 |
---|---|---|---|
properties | string[] | key | この構成が適用されるプロパティ名。デフォルトはこのオブジェクトのキー名です。 |
type | string | typeof property | プロパティのタイプ。使用される補間器を決定します。可能な値:'number' 、'color' と'boolean' 。本当に必要なものだけ'color' 、 なぜならtypeof それは正しくありません。 |
from | number |Color |boolean | undefined | アニメーションの開始値。現在の値は次の場合に使用されます。undefined |
to | number |Color |boolean | undefined | アニメーションの終了値。更新された値は次の場合に使用されます。undefined |
fn | <T>(from: T, to: T, factor: number) => T; | undefined | 事前定義された補間器を使用する代わりに、オプションのカスタム補間器を使用します。type |
#デフォルトのアニメーション
名前 | オプション | 価値 |
---|---|---|
numbers | properties | ['x', 'y', 'borderWidth', 'radius', 'tension'] |
numbers | type | 'number' |
colors | properties | ['color', 'borderColor', 'backgroundColor'] |
colors | type | 'color' |
ノート
これらのデフォルトのアニメーションは、ほとんどのデータセット コントローラーによってオーバーライドされます。
#トランジション
コアトランジションは次のとおりです。'active'
、'hide'
、'reset'
、'resize'
、'show'
。
カスタム トランジションは、カスタム トランジションを渡すことで使用できます。mode
にアップデート。
トランジションはメインを拡張しますアニメーション構成とアニメーション設定。
#デフォルトのトランジション
名前空間:options.transitions[mode]
モード | オプション | 価値 | 説明 |
---|---|---|---|
'active' | アニメーションの長さ | 400 | ホバー アニメーションのデフォルトの継続時間を 400 ミリ秒にオーバーライドします。 |
'resize' | アニメーションの長さ | 0 | サイズ変更のデフォルトの継続時間を 0ms (= アニメーションなし) にオーバーライドします。 |
'show' | アニメーション.カラー | { type: 'color', properties: ['borderColor', 'backgroundColor'], from: 'transparent' } | 凡例を使用してデータセットを表示すると、色が透明からフェードインします /API。 |
'show' | アニメーション.可視 | { type: 'boolean', duration: 0 } | データセットの可視性はすぐに true に変更されるため、透明からの色の遷移が表示されます。 |
'hide' | アニメーション.カラー | 864d796a-3da4-479e-8451-be1bbc8ec0eb | 凡例を使用してデータセット ID を非表示にすると、色が薄れて透明になります /API。 |
'hide' | アニメーション.可視 | { type: 'boolean', easing: 'easeInExpo' } | アニメーションの非常に遅い段階で可視性が false に変更される |
#アニメーションを無効にする
アニメーション設定を無効にするには、アニメーション ノードを次のように設定する必要があります。false
ただし、アニメーション モードは例外で、アニメーション モードはduration
に0
。
chart.options.animation = false; // disables all animations
chart.options.animations.colors = false; // disables animation defined by the collection of 'colors' properties
chart.options.animations.x = false; // disables animation defined by the 'x' property
chart.options.transitions.active.animation.duration = 0; // disables the animation for 'active' mode
#イージング
利用可能なオプションは次のとおりです。
'linear'
'easeInQuad'
'easeOutQuad'
'easeInOutQuad'
'easeInCubic'
'easeOutCubic'
'easeInOutCubic'
'easeInQuart'
'easeOutQuart'
'easeInOutQuart'
'easeInQuint'
'easeOutQuint'
'easeInOutQuint'
'easeInSine'
'easeOutSine'
'easeInOutSine'
'easeInExpo'
'easeOutExpo'
'easeInOutExpo'
'easeInCirc'
'easeOutCirc'
'easeInOutCirc'
'easeInElastic'
'easeOutElastic'
'easeInOutElastic'
'easeInBack'
'easeOutBack'
'easeInOutBack'
'easeInBounce'
'easeOutBounce'
'easeInOutBounce'
見るロバート・ペナーのイージング方程式 (新しいウィンドウが開きます)。
#アニメーションコールバック
アニメーション設定は、外部描画をチャート アニメーションに同期するのに役立つコールバックを提供します。 コールバックはメインでのみ設定できますアニメーション構成。
名前空間:options.animation
名前 | タイプ | デフォルト | 説明 |
---|---|---|---|
onProgress | function | null | アニメーションの各ステップで呼び出されるコールバック。 |
onComplete | function | null | すべてのアニメーションが完了したときに呼び出されるコールバック。 |
コールバックには次のオブジェクトが渡されます。
{
// Chart object
chart: Chart,
// Number of animations still in progress
currentStep: number,
// `true` for the initial animation of the chart
initial: boolean,
// Total number of animations at the start of current animation
numSteps: number,
}
次の例では、チャートのアニメーション中に進行状況バーを塗りつぶします。
const chart = new Chart(ctx, {
type: 'line',
data: data,
options: {
animation: {
onProgress: function(animation) {
progress.value = animation.currentStep / animation.numSteps;
}
}
}
});
これらのコールバックの別の使用例が見つかります。この進行状況バーのサンプルでは、アニメーションの進行状況を示す進行状況バーが表示されます。